home *** CD-ROM | disk | FTP | other *** search
- #include "stdlib.h"
- #include "string.h"
-
- #include <proto/exec.h>
-
- /************************************************************************/
-
- void *realloc(void *Memory, size_t Size)
-
- {
- unsigned long *NewMemory;
-
- NewMemory=NULL;
- if (Size)
- {
- if (!(NewMemory=malloc(Size)))
- {
- return NULL;
- }
- if (Memory)
- {
- size_t CopySize;
-
- CopySize=(*(((unsigned long *)Memory)-1) < *(NewMemory-1)) ? *(((unsigned long *)Memory)-1) : *(NewMemory-1);
- CopyMemQuick(Memory,NewMemory,CopySize-sizeof(unsigned long));
- }
- }
- if (Memory)
- {
- free(Memory);
- }
- return NewMemory;
- }
-